package cn.doitedu.day06

/**
 * scala的隐式参数
 */
object ImplicitValueDemo {


  //隐式参数
  implicit val i = 5
  //implicit val j = 6

  //将隐式参数结合方法使用
  //当前这个方法不是柯里化方法
  def m1(implicit a: Int): Int = {
    a * 10
  }

  def main(args: Array[String]): Unit = {

    //调用m1方法，没有传入参数，输出节结果是50
    //没有传入参数，定义m1方法时，有一个implicit修饰的Int类型的参数
    //程序再编译时，回在程序的上下文中进行查找，有没有用implicit修饰的，并且是Int类型的参数（变量名不一样没关系）
    val r = m1
    //如果传入了参数，会优先使用出入的参数
    val r2 = m1(8)
    println(r)




  }



}
